package com.ruoyi.utils;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;

import java.util.concurrent.TimeUnit;

/**
 * @ClassName RedisService
 * @Description redis 操作
 * @Author huangshun
 * @Date 2021/12/16 20:33
 */
@Service
public class RedisService {
    @Autowired
    StringRedisTemplate stringRedisTemplate;

    /**
     * 方法名 put
     * 描述 redis 缓存存储  seconds (秒)
     * 作者 huangshun
     * 时间 2020/10/21 0021 上午 10:18
     * @Param [key, value, seconds (秒)]
     *
     *
     */
    public void put(String key, String value, long seconds) {
        stringRedisTemplate.opsForValue().set(key, value, seconds, TimeUnit.SECONDS);
    }
    /**
     * 方法名 get
     * 描述 根据key 获取redis 缓存
     * 作者 huangshun
     * 时间 2020/10/21 0021 上午 10:17
     * @Param [key]
     */
    public Object get(String key) {
        return stringRedisTemplate.opsForValue().get(key);
    }

    /**
     * 方法名 delete
     * 描述 根据key 删除
     * 作者 huangshun
     * 时间 2020/10/21 0021 下午 2:10
     * @Param [key]
     */
    public Boolean delete(String key){
        return  stringRedisTemplate.delete(key);
    }

    /**
     * 方法名 put 存储不需要填写时间
     * 描述
     * 作者 huangshun
     * 时间 2020/10/21 0021 上午 10:18
     * @Param [key, value, seconds (秒)]
     *
     *
     */
    public void putNoTime(String key, String value) {
        stringRedisTemplate.opsForValue().set(key, value);
    }
}
